package io;


import org.junit.jupiter.api.Test;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 文件输出流-FileOutputStream
 */
public class FileOutputStream_ {

    public static void main(String[] args) {

        /*
            使用FileOutputStream 在 a.txt文件中写入 "hello,world"
            如果文件不存在，就会创建文件(前提是目录已存在)
         */
    }

    @Test
    public void writeFile() {
        //创建FileOutputStream对象
        String filePath = "D:\\IdeaCode\\javaStudy\\a.txt";
        FileOutputStream fos = null;

        try {
            //1.new FileOutputStream(filePath) 创建方式，当写入内容是，会覆盖原来的内容
            //2.new FileOutputStream(filePath, true) 创建方式，当写入内容是，是追加到文件后面
            fos = new FileOutputStream(filePath, true);
            //写入一个字节
            fos.write('H');
            //写入一个字符串
            String str = "hello,world!";
            /*
                write(byte[] b, int off, int len) 将 len 字节从位于偏移量 off 的指定字节数组写入此文件输出流
                str.getBytes() 把字符串 -> 字节数组
             */
            fos.write(str.getBytes(), 0, 3); //Hhel
            System.out.println("文件写入成功...");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
